a21940a6cf95af73375276489b96432092f2f98b,source/org/jasig/portal/channels/portlet/CPortletAdapter.java,CPortletAdapter,getMarkup,#String#,487

Before Change


            wrappedRequest.setAttribute(PortletRequest.USER_INFO, cd.getUserInfo());
            
            //System.out.println("Rendering portlet " + cd.getPortletWindow().getId());
            portletContainer.renderPortlet(cd.getPortletWindow(), wrappedRequest, wrappedResponse);
            
            markup = sw.toString();
            

After Change


        ChannelRuntimeData rd = channelState.getRuntimeData();
        ChannelStaticData sd = channelState.getStaticData();
        ChannelData cd = channelState.getChannelData();
        PortletWindow portletWindow = cd.getPortletWindow();
        PortalControlStructures pcs = channelState.getPortalControlStructures();
        
        String markup = "<b>Problem rendering portlet " + sd.getParameter("portletDefinitionId") + "</b>";
        
        try {
            PortletContainerServices.prepare(uniqueContainerName);

            StringWriter sw = new StringWriter();
            PrintWriter pw = new PrintWriter(sw);
            HttpServletRequest wrappedRequest = ((PortletWindowImpl)cd.getPortletWindow()).getHttpServletRequest();
            HttpServletResponse wrappedResponse = ServletObjectAccess.getStoredServletResponse(pcs.getHttpServletResponse(), pw);
            transferActionResultsToRequest(channelState, wrappedRequest);
            
                                                
            // Hide the request parameters if this portlet isn't targeted
            if (!rd.isTargeted()) {
                wrappedRequest = new EmptyRequestImpl(wrappedRequest);
            }
            
            // Add the user information
            wrappedRequest.setAttribute(PortletRequest.USER_INFO, cd.getUserInfo());
            
            //System.out.println("Rendering portlet " + cd.getPortletWindow().getId());
            portletContainer.renderPortlet(portletWindow, wrappedRequest, wrappedResponse);
            
            //Support for the portlet modifying it's cache timeout
            Map properties = PropertyManager.getRequestProperties(portletWindow, wrappedRequest);
            String[] exprCacheTimeStr = (String[])properties.get(RenderResponse.EXPIRATION_CACHE);
            
            if (exprCacheTimeStr != null && exprCacheTimeStr.length > 0) {
                PortletEntity pe = portletWindow.getPortletEntity();